home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Source / IBPalettes / WW3DKit / TCLCommand.m < prev    next >
Encoding:
Text File  |  1995-03-22  |  1.1 KB  |  74 lines

  1. // copyright 1993 Michael B. Johnson; some portions copyright 1994, MIT
  2. // see COPYRIGHT for reuse legalities
  3. //
  4.  
  5.  
  6. #import "TCLCommand.h"
  7.  
  8. @implementation TCLCommand
  9.  
  10. - init
  11. {
  12.   [super init];
  13.   cmd = NULL;
  14.  
  15.   return self;
  16. }
  17.  
  18. - free
  19. {
  20.   if (cmd)
  21.   {  free(cmd);
  22.   }
  23.  
  24.   return [super free];
  25. }
  26.  
  27. - setCmd:(const char *)newCmd
  28. {
  29.   if (cmd)
  30.   {  free(cmd);
  31.   }
  32.   if (newCmd)
  33.   {  cmd = NXCopyStringBuffer(newCmd);
  34.   }
  35.   else
  36.   {  cmd = NULL;
  37.   }
  38.   return self;
  39. }
  40.  
  41. - (const char *)cmd { return (const char *)cmd; }
  42.  
  43.  
  44. - renderSelf:(WW3DCamera *)camera  startingAt:(RtFloat)shutterOpenTime endingAt:(RtFloat)shutterCloseTime
  45. {
  46.   RiArchiveRecord("comment", cmd); 
  47.   return self;
  48. }
  49.  
  50. - renderSelf:(WW3DCamera *)camera
  51. {
  52.   RtFloat  shutterOpenTime = [camera shutterOpenTime],
  53.            shutterCloseTime = [camera shutterCloseTime];
  54.  
  55.  
  56.   return [self renderSelf:camera startingAt:shutterOpenTime endingAt:shutterCloseTime];
  57. }
  58.  
  59. - writeEve:(NXStream *)stream atTabLevel:(int)tab
  60. {
  61.    int  i;
  62.  
  63.  
  64.    for (i = 0; i < tab; i++)
  65.    {  NXPrintf(stream, "\t");
  66.    }
  67.    NXPrintf(stream, "ArchiveRecord comment {%s};", cmd); 
  68.    return self;
  69. }
  70.  
  71.  
  72. @end
  73.  
  74.